package com.example.hospitaldemo.util;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;

/**
 * mybatis-plus的代码生成工具，负责生成基础代码
 */
public class CodeGenerator {
    public static void main(String[] args) {
        /**
         * 数据源
         */
        FastAutoGenerator.create("jdbc:mysql://localhost:3307/hospital", "root", "1234")
                .globalConfig(builder ->
                {
                    builder
                            .author("张三") // 设置作者
                            // .enableSwagger() // 开启 swagger 模式
                            // .fileOverride() // 覆盖已生成文件
                            .outputDir("src\\main\\java"); // 指定输出目录
                })
                .packageConfig(builder ->
                {
                    builder
                            .parent("com.example.hospitaldemo"); // 设置父包名
                    // .moduleName("system") // 设置父包模块名
                    // .pathInfo(Collections.singletonMap(OutputFile.xml, "D://")); // 设置mapperXml生成路径
                    // .pathInfo(null); // 设置mapperXml生成路径
                })
                .strategyConfig(builder ->
                {

                    builder
                            .addExclude("")
                            // .addInclude("notice") // 设置需要生成的表名
                            .controllerBuilder().enableRestStyle()
                            .entityBuilder().enableLombok().enableFileOverride();
                })
                .templateConfig(builder ->
                        builder.xml(null)
                )
//                 .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
                .execute();
    }
}
